package cn.iocoder.yudao.module.of.controller.admin.schedulecenter.vo;

import cn.hutool.core.date.DateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 日程中心 信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ScheduleCenterPageReqVO extends PageParam {

    @Schema(description = "标题")
    private String title;

    @Schema(description = "参与人员")
    private String[] participants;

    @Schema(description = "开发时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private DateTime[] startTime;

    @Schema(description = "结束时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private DateTime[] endTime;

    @Schema(description = "会议地点")
    private String location;

    @Schema(description = "日程类型")
    private Integer category;

    @Schema(description = "图标")
    private String icon;

    @Schema(description = "描述", example = "随便")
    private String description;

    @Schema(description = "提醒人员")
    private Integer reminder;

    @Schema(description = "提醒类型（弹窗、企业微信等）", example = "1")
    private String type;

    @Schema(description = "提醒时间( 提前15分钟、提前30分钟）")
    private Integer remindTimeType;

    @Schema(description = "提醒时间点2025-04-12 12:30:00")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private DateTime[] remindTime;

    @Schema(description = "重复周期")
    private Integer repeatPeriod;

    @Schema(description = "附件地址")
    private String[] attachments;

    @Schema(description = "标签")
    private String[] tags;

    @Schema(description = "状态", example = "2")
    private Boolean status;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private DateTime[] createTime;




    @Schema(description = "日程ID")
    private List<Long> scIdList;

    private Integer timeType;



}